package com.ruoyi.depot.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 盘点任务对象 tb_stocktakes
 * 
 * @author luxiaoyu
 * @date 2025-01-06
 */
public class Stocktakes extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 盘点任务唯一标识 */
    private String stocktakeId;

    /** 盘点单号 */
    @Excel(name = "盘点单号")
    private String stocktakeNumber;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Integer warehouseId;

    /** 仓库ID */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 盘点日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stocktakeDate;

    /** 盘点人 */
    @Excel(name = "盘点人")
    private String checkedBy;

    /** 盘点状态 */
    @Excel(name = "盘点状态")
    private Integer status;

    /** 备注信息 */
    @Excel(name = "备注信息")
    private String notes;

    /** 记录创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 记录最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 删除标记 */
    @Excel(name = "删除标记")
    private Integer deleteStatus;

    /**
     * 盘点详细
     */
    private List<StocktakeDetails> stocktakeDetails;

    public List<StocktakeDetails> getStocktakeDetails() {
        return stocktakeDetails;
    }

    public void setStocktakeDetails(List<StocktakeDetails> stocktakeDetails) {
        this.stocktakeDetails = stocktakeDetails;
    }

    public Integer getDeleteStatus() {
        return deleteStatus;
    }

    public void setDeleteStatus(Integer deleteStatus) {
        this.deleteStatus = deleteStatus;
    }

    public String getStocktakeId() {
        return stocktakeId;
    }

    public void setStocktakeId(String stocktakeId) {
        this.stocktakeId = stocktakeId;
    }

    public Integer getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(Integer warehouseId) {
        this.warehouseId = warehouseId;
    }

    public void setStocktakeDate(Date stocktakeDate)
    {
        this.stocktakeDate = stocktakeDate;
    }

    public Date getStocktakeDate() 
    {
        return stocktakeDate;
    }
    public void setCheckedBy(String checkedBy) 
    {
        this.checkedBy = checkedBy;
    }

    public String getCheckedBy() 
    {
        return checkedBy;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public void setNotes(String notes)
    {
        this.notes = notes;
    }

    public String getStocktakeNumber() {
        return stocktakeNumber;
    }

    public void setStocktakeNumber(String stocktakeNumber) {
        this.stocktakeNumber = stocktakeNumber;
    }

    public String getNotes()
    {
        return notes;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("stocktakeId", getStocktakeId())
            .append("warehouseId", getWarehouseId())
            .append("stocktakeDate", getStocktakeDate())
            .append("checkedBy", getCheckedBy())
            .append("status", getStatus())
            .append("notes", getNotes())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
